Scroll to navigation

std::ranges::stride_view::iterator::operator[](3) C++ Standard Libary std::ranges::stride_view::iterator::operator[](3)

NAME

std::ranges::stride_view::iterator::operator[] - std::ranges::stride_view::iterator::operator[]

Synopsis


constexpr decltype(auto) operator[]( difference_type n ) const (since C++23)
requires ranges::random_access_range<Base>


Returns an element at specified relative location.


Equivalent to: return *(*this + n);.

Parameters


n - position relative to current location

Return value


The element at displacement n relative to the current location.

Example

// Run this code


#include <ranges>


int main()
{
constexpr static auto v = {'a', 'b', 'c', 'd', 'e'};
constexpr auto view{v | std::views::stride(2)};
constexpr auto iter{view.begin() + 1};
static_assert(*iter == 'c');
static_assert(iter[0] == 'c');
static_assert(iter[1] == 'e');
}

See also


operator* accesses an element
(C++23) (public member function)

2024.06.10 http://cppreference.com